An arbitration node can be used to prioritize requests contending for a common resource. An arbitration node can be used in a plurality of applications. In some examples, arbitration nodes can be used in a memory system bus and a network switch design. Arbitration nodes can be implemented in hardware using a binary arbitration tree structure.